package com.lnking.lnkingplace.service;

import com.lnking.lnkingplace.model.entity.IsolationPersonnel;
import com.lnking.lnkingplace.model.entity.Leaders;
import com.lnking.lnkingplace.model.request.isolation.personnel.*;
import com.lnking.starter.mybatis.service.ICustomService;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zhangqt
 * @since 2022-08-27
 */
public interface IIsolationPersonnelService extends ICustomService<IsolationPersonnel> {

    void updateInfo(UpdateInfoRequest params);

    void distributeRoom(DistributeRoomRequest params);

    List<IsolationPersonnel> getDataByUnionFlag(String id);

    void updateRoom(UpdateRoomRequest params);

    void updateBatchType(List<UpdateBatchType> data);

    void exportWord(String id, HttpServletResponse response)throws Exception;

    void importExcel(String placeId,MultipartFile file) throws Exception;

    String add(PersonnelAddRequest params) throws Exception;

    void update(PersonnelUpdateRequest params) throws Exception;

    void updateMoveStatus(PersonnelUpdateMoveStatus params);

    void updateAuditStatus(PersonnelUpdateAuditStatus params);

    /**
     * 通过用户登录名获取用户信息
     * @param username 用户登录名
     * @return 用户信息
     */
    IsolationPersonnel getIsolationByName(String username);


    void exportPdf(String id, HttpServletResponse response) throws IOException;

    void exportPdfs(List<String> ids, HttpServletResponse response) throws IOException;

    void importIdCard(MultipartFile file) throws Exception;

}
